Suppress native AIO warning introduced in 10.8.3
authorOtto Kekäläinen <otto@debian.org>
Fri, 8 Aug 2025 04:30:51 +0000 (21:30 -0700)
committerOtto Kekäläinen <otto@debian.org>
Tue, 16 Dec 2025 04:00:00 +0000 (20:00 -0800)
Upstream a87bb96 introduced a new warning, visible at least on all ppc64el and
s390x builds which makes the post-build mariadb-test-test fail:

    [Warning] InnoDB: native AIO failed: falling back to
    innodb_use_native_aio=OFF

The case of this is the ci environment only where there is insufficent
fs.aio-max-nr configured. A such we are adding a suppression to the
mtr only. The warning is valuable for users. Upstream MDEV-37411 has
added a io_setup as a warning, which will fail in the CI environment,
so we're pre-emptively suppressing this warning too.

Unlike upstream MariaDB, in Debian we removed libaio in for Linux on
MariaDB 10.6+ in 612630c6 and completely in 1d648d6f. This was re-added
by upstream added a system variable innodb_linux_aio to control, and
also provided automated fallback. As such we're readding it back too.

With liburing still seccomp filterer in container environments having
a libaio fallback is more valuable than the threads implementation of
last resort.

Edited & Updated: Daniel Black <daniel@mariabdb.org>

Forwarded: https://jira.mariadb.org/browse/MDEV-37411 (rejected)

Upstream rejected this with the conclusion, is that it will start working in
Debian/Salsa/Ubuntu/Launchpad once the Linux kernel is new enough to handle the
I/O calls and fallbacks properly, or once the CI system increases the value of
/proc/sys/fs/aio-max-nr to 1 million or so, to allow multiple parallel MariaDB
servers (as started by mariadb-test-run) each have enough quota for native AIO
to work.

Gbp-Pq: Name MDEV-37411-suppress-new-warning-about-native-aio.patch

mysql-test/mariadb-test-run.pl

index 6739995472c83f88255befd75a9a5dc14aa166b8..8d88e4d24b841f5a40023b116f5816c69279cbd3 100755 (executable)
@@ -4498,6 +4498,8 @@ sub extract_warning_lines ($$) {
      qr/error .*connecting to master/,
      qr/InnoDB: Dumping buffer pool.*/,
      qr/InnoDB: Buffer pool.*/,
+     qr/io_setup(%d) returned.*/,
+     qr/InnoDB: native AIO failed: falling back to innodb_use_native_aio=OFF/,
      qr/InnoDB: Could not free any blocks in the buffer pool!/,
      qr/InnoDB: innodb_open_files .* should not be greater than/,
      qr/InnoDB: Trying to delete tablespace.*but there are.*pending/,